package aprendamos.java.action;

import java.util.List;

import aprendamos.java.bean.ClienteDTO;
import aprendamos.java.service.ClienteService_I;
import aprendamos.java.service.PaqueteBusinessDelegate;

public class ClienteAction {

	// creamos un atributo de tipo Lista de Clientes
	ClienteDTO cliente;
	List<ClienteDTO> clientes;
	private String usuario;
	
	

	public String getUsuario() {
		return usuario;
	}

	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}

	public List<ClienteDTO> getClientes() {
		return clientes;
	}

	public void setClientes(List<ClienteDTO> clientes) {
		this.clientes = clientes;
	}

	public ClienteDTO getCliente() {
		return cliente;
	}

	public void setCliente(ClienteDTO cliente) {
		this.cliente = cliente;
	}

	
	ClienteService_I servicioCliente = 
			PaqueteBusinessDelegate.getClienteService();
	
	
	// creamos el metodo registra
	public String registra(){
		String vista="exito";
		
		try {
			
			servicioCliente.registraElCliente(cliente);
			
			// lo retornado por el servicio lo asignamos al atributo de tipo Lista de clientes
			cliente.setNombre("");
			
			clientes=servicioCliente.listaClientesPorNombre(cliente.getNombre());
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return vista;
	}
	
	public String cargaModifica(){
		String vista="exito";
		
		try {
			
			cliente=
				servicioCliente.buscaClientePorUsuario(this.getUsuario());
			
			//this.setCliente(
				//servicioCliente.buscaClientePorUsuario(this.getUsuario()));
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		return vista;
	}
	
	
	// creamos el metodo lista
	public String lista(){
		String vista="exito";

		try {
			
			// invocamos a servicioCliente para obtener la lista de clientes por Nombre
			// lo retornado por el servicio lo asignamos al atributo de tipo Lista de clientes
			clientes=servicioCliente.listaClientesPorNombre(cliente.getNombre());
			
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		
		return vista;
	}
	
	
}
